#pragma once

#include "entity.h"

class CPlayer;
class CEmitter;

enum ItemType { IBATTERY, IPOTION, IKEY, ISTUNCRYSTAL, ISLOWCRYSTAL, ILIGHTCRYSTAL, IINVISCRISTAL, IWEB, ISPIKE, ILEVER, IDOOR, IKEYDOOR, IHIDDENDOOR };

class CItem : public CEntity
{
private:
	int nCollisionPad;
	ItemType eItemType;
	CEmitter* pEmitter;
	int nSfxID;

public:
	int GetCollisionPad() const { return nCollisionPad; }
	int GetItemType() const { return eItemType; }
	CEmitter* GetEmitter() const { return pEmitter; }
	int GetSfxID() const { return nSfxID; }
	
	void SetCollisionPad(int val) { nCollisionPad = val; }
	void SetItemType(int val) { eItemType = (ItemType)val; }
	void SetEmitter(CEmitter* val) { pEmitter = val; }
	void SetSfxID(int val) { nSfxID = val; }

	virtual RECT GetRect() const override;
	virtual void HandleCollision(const IEntity* pOther) override;

	virtual void Interacted(CPlayer* pPlayer);
};

